<?PHP $this->Html->script('outils', false); ?>
<?PHP $this->Html->script('requete', false); ?>
<?PHP $this->Html->script('gererReglesReponseQuestion', false); ?>
<?PHP $this->Html->script('gererReglesReponseReponse', false); ?>
<?PHP $this->Html->script('gererReglesReponseArticle', false); ?>
<?PHP $this->Html->script('gererReglesLigneLigne', false); ?>
<?PHP $this->Html->script('gererReglesFinalisation', false); ?>
<?PHP $this->Html->css('gererRegles', null, array('inline' => false)); ?>
<?PHP $this->Html->script('jquery', false); ?>
<?PHP $this->Html->script('jquery-ui-1.8.18.custom.min', false); ?>
<div class="titre">Gérer les règles</div>

<script type="text/javascript">
	var questions = <?PHP echo php2js($questions); ?>;
	var questions_nombre = <?PHP echo php2js($questions_article_entier); ?>;
	var articles = <?PHP echo php2js($categories); ?>;
	var statuts = <?PHP echo php2js($statuts); ?>;
	var questions_finalisation = <?PHP echo php2js($questions_finalisation); ?>;
	var questions_article_entier_ouinon = <?PHP echo php2js($questions_article_entier_ouinon); ?>;
	/*var reglesConflits = <?PHP //echo php2js($reglesConflits); ?>;
	regles en conflit abandonnées
	// drag n drop en jQuery pour changer l'ordre des regles en conflit
	$(function() {
		$("#sortable").sortable();
		$("#sortable").disableSelection();
	});
	
	function afficheReglesEnConflit(idQuestion) {
		var liste = document.getElementById("sortable");
		for(i in reglesConflits) {
			if(reglesConflits[i]['Q']['id_question'] == idQuestion) {
				var li = document.createElement('li');
				li.appendChild(document.createTextNode((reglesConflits[i]['AQ']['active_question'] ? "activée" : "désactivée") + " par la question \""+reglesConflits[i]['QI']['libelle_question']+"\""));
				liste.appendChild(li);
			}
		}
		document.getElementById('sortable').style.display = 'block';
	}*/
</script>

<!-- regles en conflit abandonnées
<div style="float:right;" class="demo">
	<input type="button" value="Gérer les règles en conflit" onclick="document.getElementById('conflits').style.display = 'block';" />
	<div id="conflits" style="display:none;">
		<select id="questionsReglesConflits" onchange="afficheReglesEnConflit(this.options[this.selectedIndex].id);">
			<option>Sélectionnez une question...</option>
		</select>
		<ul id="sortable" style="display:none; list-style:none;">
		</ul>
		<input type="button" onclick="" value="Valider" />
	</div>
</div>
-->

<div class="titre_clic" onclick="$(this).next('.togglebox').slideToggle('fast')">
	Activation et désactivation de questions
</div>
<div class="togglebox">
	<input class="vox_bouton" type="button" value="Ajouter une règle activant ou désactivant une question" onclick="afficherQuestions('question_changeante', 'liste_question', questions, articles, statuts, 'liste_reponse', 'question_changee', 'liste_question_affecte', 'action_possible_reponse_question', 'recapitulatif_reponse_question', 'liste_regle');" />

	<table class="taille_max">
		<tr>
			<td class="position_haut">
				<div id="question_changeante">
					<div class="titrePack">Choisissez la question</div>
					Liste des questions :
					<select id="liste_question"></select>
					<div id="liste_reponse"></div>
				</div>
			</td>
			<td class="position_haut">
				<div id="question_changee">
					<div class="titrePack">Choisissez la question qui se verra affectée</div>
					Liste des questions :
					<select id="liste_question_affecte"></select>
				</div>
			</td>
		</tr>
	</table>

	<div id="action_possible_reponse_question"></div>
	<div id="recapitulatif_reponse_question"></div>
	
<?PHP 
if(empty($tab_regles)) 
	echo "<div id='zeroreglesactive'>Il n'y a pas de règles enregistrées pour ce type. </div>";

?>
<table class="tableau_recap" id="tableau_active_desactive">
<th>Question influençant</th><th>Réponse influençant</th><th>Action</th><th>Question influencée</th><th></th>
<?PHP foreach($tab_regles as $regle) {
	
		echo "<tr>";
		echo "<td>".$regle['q1']['libelle_question']."</td><td>";
		switch($regle['q1']['type_reponse']) {
			case "OUINON": 
				echo $regle['r']['reponse_oui_non']?'oui':'non';
				break;
			case "ENTIER": 
				echo " une valeur comprise entre ".$regle['r']['valeur_min'] . " et " . $regle['r']['valeur_max'];
				break;
			case "LISTE": 
				echo " ".$regle['r']['libelle_reponse_combo'];
				break;
			case "ARTICLE": 
				echo " ".$regle['a']['description_article'];
				break;
		}
		echo "</td><td>";
		echo ($regle['aq']['active_question']?'active':'désactive')."</td><td>";
		echo $regle['q2']['libelle_question'] ."</td><td>";
		
		echo "<img onclick=\"var q = sendQuery('supprimerRegle', 'id_reponse=".$regle['r']['id_reponse']."&id_question=".$regle['aq']['id_question']."', 'POST');
							if(q == '') this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
							\" class=\"curs_pointer\" src=\"../../img/delete.png\"/>";
		echo "</td>";
		echo "</tr>";
}
?>
</table>
</div>


<div class="titre_clic" onclick="$(this).next('.togglebox').slideToggle('fast')">
	Conseils sur les réponses
</div>
<div class="togglebox">
	<input type="button" class="vox_bouton" value="Ajouter une règle conseillant ou déconseillant une réponse" 
			onclick="afficherReponses('bloc_gauche','liste_question_gauche', 'liste_reponses_gauche', 'bloc_droite', 'liste_question_droite', 'liste_reponses_droite', 'bloc_statut', 'liste_statut', 
									questions, articles, statuts,
									'bouton_recap', 'recapitulatif_reponse_reponse');" />

	<table class="taille_max">
		<tr>
			<td class="position_haut">
				<div id="bloc_gauche">
					<div class="titrePack">Choisissez la question</div>
					Liste des questions :
					<select id="liste_question_gauche"></select>
					<div id="liste_reponses_gauche"></div>
				</div>
			</td>
			<td class="position_haut">
				<div id="bloc_droite">
					<div class="titrePack">Choisissez la question qui se verra affectée</div>
					Liste des questions :
					<select id="liste_question_droite"></select>
					<div id="liste_reponses_droite"></div>
				</div>
			</td>
		</tr>
		<tr class="tab_statut">
			<td colspan="2">
				<div id="bloc_statut">
					Quel nouveau statut ?
					<select id="liste_statut"></select>
					<br />
					<input type="button" value="Recapitulatif" id="bouton_recap" />
				</div>
			</td>
		</tr>
	</table>
	<div id="recapitulatif_reponse_reponse"></div>

	
	<?PHP 
echo "<br/>";
if(empty($tab_reponses)) echo "<div id='zeroreglesconseils'>Il n'y a pas de règles enregistrées pour ce type.</div>";


echo "<table class='tableau_recap' id='tableau_conseils'>";
echo "<th>Question influençant</th><th>Réponse influençant</th><th>Question influencée</th><th>Réponse influencée</th><th>Statut</th><th></th>";
foreach($tab_reponses as $reponse) {
	echo "<tr>";
		
		echo "<td>".$reponse['q1']['libelle_question']. "</td><td>";
		switch($reponse['q1']['type_reponse']) {
			case "OUINON": 
				echo $reponse['r1']['reponse_oui_non']?'oui':'non';
				break;
			case "ENTIER": 
				echo " une valeur comprise entre ".$reponse['r1']['valeur_min'] . " et " . $reponse['r1']['valeur_max'];
				break;
			case "LISTE": 
				echo " ".$reponse['r1']['libelle_reponse_combo'];
				break;
			case "ARTICLE": 
				echo " ".$reponse['a1']['description_article'];
				break;
			
		}
		echo "</td><td>".$reponse['q2']['libelle_question']."</td><td>";
		switch($reponse['q2']['type_reponse']) {
			case "OUINON": 
				echo '"'.($reponse['r2']['reponse_oui_non']?'oui':'non').'"';
				break;
			case "ENTIER": 
				echo " une valeur comprise entre ".$reponse['r2']['valeur_min'] . " et " . $reponse['r2']['valeur_max'];
				break;
			case "LISTE": 
				echo " ".$reponse['r2']['libelle_reponse_combo'];
				break;
			case "ARTICLE": 
				echo " ".$reponse['a2']['description_article'];
				break;
			
		}
		
		echo "</td><td>".$reponse['sr']['libelle_statut_reponse']."</td>";
		echo "<td>";
		echo "<img onclick=\"var q = sendQuery('supprimerNouveauStatut', 'id_reponse=".$reponse['r1']['id_reponse']."&id_reponse_cible=".$reponse['r2']['id_reponse']."', 'POST');
							if(q == '') this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
							\" src=\"../../img/delete.png\" class='curs_pointer' />";
		echo "</td>";
}

	echo "</tr>";
echo "</table>";
?>
</div>


<div class="titre_clic" onclick="$(this).next('.togglebox').slideToggle('fast')">
	Ajout d'articles dans le devis
</div>
<div class="togglebox">
	<fieldset>
		<legend>Conditions à remplir pour ajouter des articles</legend>
		<select id="liste_question_repart"><select>
		<input type="button" value="Ajouter cette question" onclick="ajouterQuestionRepart('liste_question_repart', 'questions_repart', questions, articles)" />
		<div id="questions_repart"></div>
	</fieldset>
	
	<fieldset>
		<legend>Les articles à ajouter et leurs quantités</legend>
		<div>
			Liste des categories : 
			<select id="categorie_repart"></select>
		</div>
		<div>
			Liste des articles :
			<select id="article_repart"></select>
		</div>
		<div>
			Quantité :<br />
			<div>
				<input type="checkbox" id="quantite_fixe_repart" checked="checked" onchange="changeQuantiteFixe(this, ['quantite_repart', 'somme_repart'], ['bouton_ajouter_question_somme_repart', 'select_somme_question_repart'], 'bloc_fixe', 'bloc_nonfixe')" />
				fixe :
				<span id="bloc_fixe">
					<input type="number" value="1" min="1" id="quantite_repart" />
					<input type="checkbox" value="somme_repart" id="somme_repart" /> Non sommées
				</span>
			</span>
			<div id="bloc_nonfixe">
				<fieldset>
					<legend>Somme de</legend>
					<select id="select_somme_question_repart"></select>
					<input type="button" id="bouton_ajouter_question_somme_repart" value="Ajouter cette question" onclick="ajouterQuestionSommeRepart('select_somme_question_repart', 'ensemble_somme_question_repart')" />
					<div id="ensemble_somme_question_repart"></div>
				</fieldset>
			</div>
		</div>
	</fieldset>
	
	<input type="button" value="Récapitualif" onclick="recapitulatifReponseArticle('recapitulatif_reponse_article', 'quantite_fixe_repart', 'article_repart', 'quantite_repart', 'somme_repart', 'ensemble_somme_question_repart')" />
	<div id="action_possible_reponse_article"></div>
	<div id="recapitulatif_reponse_article"></div>
	
<?PHP if(!empty($tab_regles_gen_devis)): ?>
	<table class="tableau_recap">
		<tr>
			<th>Question</th>
			<th>Reponse</th>
			<th>Article ajouté</th>
			<th>Quantité fixe</th>
			<th>Coefficient</th>
			<th>Question calculé</th>
		</tr>
<?PHP foreach($tab_regles_gen_devis as $regle_gen_devis): ?>
		<tr>
			<td><?PHP echo $regle_gen_devis['Q']['libelle_question']; ?></td>
			<td><?PHP switch($regle_gen_devis['Q']['type_reponse']) {
			case "OUINON": 
				echo $regle_gen_devis['R']['reponse_oui_non']?'oui':'non';
				break;
			case "ENTIER": 
				echo " une valeur comprise entre ".$regle_gen_devis['R']['valeur_min'] . " et " . $regle_gen_devis['R']['valeur_max'];
				break;
			case "LISTE": 
				echo " ".$regle_gen_devis['R']['libelle_reponse_combo'];
				break;
			case "ARTICLE": 
				echo " ".$regle_gen_devis['AR']['description_article'];
				break;
			} ?></td>
			<td><?PHP echo $regle_gen_devis['A']['description_article']; ?></td>
			<td><?PHP echo $regle_gen_devis['AJ']['quantite_article']; ?></td>
			<td><?PHP echo $regle_gen_devis['QA']['coefficient_ligne']; ?></td>
			<td><?PHP echo $regle_gen_devis['Q2']['libelle_question']; ?></td>
			<td><img alt="Supprimer" title="Supprimer" class="curs_pointer" src="../../img/delete.png" onclick="var q = sendConstructedQueryJSON('supprimerReponseArticle', {id_ajout_ligne:<?PHP echo $regle_gen_devis['AJ']['id_ajout_ligne']; ?>}, 'POST'); if(q.success) $(this.parentNode.parentNode).remove(); else alert(q.out);" /></td>
		</tr>
<?PHP endforeach; ?>
	</table>
<?PHP endif; ?>
</div>



<div class="titre_clic" onclick="$(this).next('.togglebox').slideToggle('fast')">
	Gestion des questions sur le devis
</div>
<div class="togglebox">
	<fieldset style="float:right; width:600px;">
		<legend>Gérer les règles</legend>
		Question :
		<select id="questions_regles_finalisation" onchange="afficherReponseReglesFinalisation('questions_regles_finalisation', 'liste_reponse_finalisation');">
		</select>
		<div id="liste_reponse_finalisation"></div>
		<br />
		<div>
			Calculer le prix de :
			<select id="categories_regles_finalisation"></select>
			<select id="articles_regles_finalisation"></select>
			<br/>
			avec un prix de base de <input id="prix_base_regle_finalisation" type="number" min="0" class="petit_input_number" /> €
		</div>
		<div>
			et en sommant la réponse aux questions :
			<select id="select_somme_question_finalisation"></select>
			<input type="button" id="bouton_ajouter_question_somme_repart" value="Ajouter cette question" onclick="ajouterQuestionSommeRepart('select_somme_question_finalisation', 'ensemble_somme_question_finalisation')" />
		</div>
		<div id="ensemble_somme_question_finalisation">
		</div>
		<br />
		<input type="button" class="vox_bouton" value="Récapitulatif" onclick="recapitulatifRegleFinalisation('recapitulatif_regle_finalisation', 'articles_regles_finalisation', 'ensemble_somme_question_finalisation', 'prix_base_regle_finalisation');" />
		<div id="recapitulatif_regle_finalisation"></div>
	
		
<div >
		
		<table class="tableau_recap">
			<tr>
				<th>Id tarif</th>
				<th>Article modifié</th>
				<th>Question influencant</th>
				<th>Réponse influencant</th>
				<th>Montant</th>
			</tr>
		<?PHP 
		
		
		foreach($regles_finalisation as $regle) { ?>
		
			<tr <?PHP if($regle['nos_tarifs']['candel']) echo 'class="candel"' ?>>
				<td><?PHP echo $regle['nos_tarifs']['id_tarif'];  ?></td>
				<td><?PHP echo $regle['nos_tarifs']['description_article'];  ?></td>
				<td><?PHP echo $regle['nos_tarifs']['l_q_1'];  ?></td>
				<td><?PHP echo $regle['nos_tarifs']['libelle_reponse_combo'];  ?></td>
				<td><?PHP echo $regle['nos_tarifs']['coin'];  ?></td>
				<td>
				<?PHP if ($regle['nos_tarifs']['candel']) : ?>
					<img onclick="var q = sendQuery('supprimerRegleTarif', 'id_tarif=<?PHP echo $regle['nos_tarifs']['id_tarif']; ?>', 'POST'); if(q == '') { $(this).parent().parent().nextUntil('.candel').remove(); $(this).parent().parent().remove(); } else alert(q);" class="curs_pointer" src="../../img/delete.png" />
				<?PHP endif; ?>
				</td>
			</tr>
			
		
		<?PHP } ?>
			
		</table>
	</div>
	
		
	</fieldset>
	
	<fieldset>
		<legend>Ajouter une question</legend>
		<input type="text" id="nom_question_finalisation" value="Nom de la question" placeholder="Nom de la question" />
		<select id="reponses_question_finalisation">
		</select>
		<span id="suppr_queston_finalisation"></span>
		<br />
		<input type="button" class="vox_bouton" value="Ajouter cette question" onclick="ajoutQuestionFinalisation('nom_question_finalisation', 'reponses_question_finalisation');" />
		<?PHP if(!empty($questions_finalisation)): ?>
			<table class="tableau_recap">
				<tr>
					<th>Question</th>
				</tr>
				<?PHP foreach($questions_finalisation as $question): ?>
				<tr>
					<td><?PHP echo $question['question']['libelle_question']; ?></td>
					<td><img alt="Supprimer" title="Supprimer" class="curs_pointer" src="../../img/delete.png" onclick="if(confirm('Attention\nSupprimer une question supprimera les règles associées à cette question.\nContinuer ?')) {var q = sendConstructedQueryJSON('supprimerQuestionDevis', {id_question:<?PHP echo $question['question']['id_question']; ?>}, 'POST'); if(q.success) {$(this.parentNode.parentNode).remove(); alert('Question supprimée');} else alert(q.out);}" /></td>
				</tr>
				<?PHP endforeach; ?>
			</table>
		<?PHP endif; ?>
	</fieldset>
	
	
	
</div>
	
<script type="text/javascript">
	$(function() {
		afficherQuestionsReglesFinalisation('questions_regles_finalisation', questions_finalisation);
		afficherListeQuestionPourRepart("liste_question_repart", questions);
		afficherListeQuestionPourRepart('select_somme_question_repart', questions_nombre);
		afficherListeQuestionPourRepart('select_somme_question_finalisation', questions_article_entier_ouinon);
		remplirCategorieRepart('categorie_repart', 'article_repart', articles);
		changeQuantiteFixe(document.getElementById('quantite_fixe_repart'), ['quantite_repart', 'somme_repart'], ['bouton_ajouter_question_somme_repart', 'select_somme_question_repart'], 'bloc_fixe', 'bloc_nonfixe');
	});
	
	var liste = $("#reponses_question_finalisation");
	var optVide = $('<option/>', {value:'', text:''});
	var optNew = $('<option/>', {value:'new', text:'<ajouter un élément>', css:{backgroundColor:'#88FF88'}});
	var spanSuppr = $('#suppr_queston_finalisation');
	var divHidden = $('<div/>', {css:{display:'none'}});
	liste.change(function (ev, val) {
		var opt = liste.find('option:selected');
		// on nettoie spanSuppr au cas où il y est un bouton supprimer
		spanSuppr.empty();
		// si l'utilisateur clique sur l'option "créer un nouvel élément", alors on lui demande le nom de l'élément
		if(opt.get(0) == optNew.get(0)) {
			var nouvelOption = prompt("Nouvel élément dans la liste", "Saisissez le nom de l'élément à ajouter");
			if(nouvelOption && nouvelOption != '') {
				ajouterOptionDansListe(nouvelOption);
			}
			optVide.attr('selected', 'selected');
		}
		// sinon, si l'utilisateur à cliqué sur un de ses éléments, on lui affiche le bouton supprimer
		else if(opt != optVide.get(0)) {
			spanSuppr.append($('<img/>', {src:'../../img/delete.png', class:'curs_pointer', alt:'delete', title:'Supprimer cet élément', click:function() {
				var opt = liste.find('option:selected');
				divHidden.find("div[name='"+opt.attr('name')+"']:first").remove();
				opt.remove();
				liste.find('option:first').attr("selected", "selected");
				spanSuppr.empty();
			}}));
		}
	});
	// on ajoute les éléments à la liste
	liste.append(optVide);
	liste.append(optNew);
</script>


<div class="titre_clic" onclick="$(this).next('.togglebox').slideToggle('fast')">
	Gestion des articles liés
</div>
<div class="togglebox">
	<table class="taille_max">
		<tr>
			<td class="bloc_style">
				<div class="titrePack">Article déclenchant</div>
				Categorie : <select id="categorie_article_ligne_gauche"></select><br />
				Article : <select id="article_ligne_gauche"></select>
			</td>
		
			<td class="bloc_style">
				Coefficient : <input type="number" value="1" id="coefficient_ligne_ligne" />
			</td>
			
			<td class="bloc_style">
				<div class="titrePack">Article déclenché</div>
				Categorie : <select id="categorie_article_ligne_droite"></select><br />
				Article : <select id="article_ligne_droite"></select>
			</td>
		<tr class="centre">
			<td colspan="3">
				<input type="button" value="Recapitulatif" class="centre" onclick="recapRegleLigneLigne('article_ligne_gauche', 'article_ligne_droite', 'coefficient_ligne_ligne', 'recapitulatif_ligne_ligne')" />
				<div id="recapitulatif_ligne_ligne"></div>
			</td>
		</tr>
	</table>
<?PHP // affichage des règles de type ligne/ligne
	if(empty($tab_regles_ligne_ligne)):
?>
<?PHP
	else:
?>
	<table class="tableau_avec_trait">
		<tr>
			<th>Article déclenchant</th>
			<th>Coefficient</th>
			<th>Article déclenché</th>
			<th></th>
		</tr>
<?PHP
		foreach($tab_regles_ligne_ligne as $regle_ligne_ligne):
?>
		<tr>
			<td><?PHP echo $regle_ligne_ligne['article_parent']['description_article']; ?></td>
			<td><?PHP echo $regle_ligne_ligne['AEC']['coef_qtte_parent']; ?></td>
			<td><?PHP echo $regle_ligne_ligne['article_enfant']['description_article']; ?></td>
			<td><img src="../../img/delete.png" class="curs_pointer" title="Supprimer cette règle" alt="Supprimer" 
					 onclick="var q =sendConstructedQueryJSON('supprimerRegleLigneLigne', 
						 {id_article_parent:<?PHP echo $regle_ligne_ligne['AEC']['id_article_parent']; ?>, id_article_enfant:<?PHP echo $regle_ligne_ligne['AEC']['id_article_enfant']; ?>}, 'POST'); if(q.success) $(this.parentNode.parentNode).remove(); else alert(q.result);" /></td>
		</tr>
<?PHP
		endforeach;
?>
	</table>
<?PHP
	endif;
?>
</div>

<script type="text/javascript">
	$(function() {
		remplirCategorieRepart('categorie_article_ligne_gauche', 'article_ligne_gauche', articles);
		remplirCategorieRepart('categorie_article_ligne_droite', 'article_ligne_droite', articles);
		remplirCategorieRepart('categories_regles_finalisation', 'articles_regles_finalisation', articles);
	});
</script>

<!-- regles en conflit abandonnées
<script type="text/javascript">
	var selectQuestionConflit = document.getElementById("questionsReglesConflits");
	for(i in reglesConflits) {
		// les questions sont ordonnées suivant leur id
		// on ajoute qu'une fois la question au select en verifiant que la question n'a pas le meme id que la precedente
		var id;
		if(reglesConflits[i]['Q']['id_question'] != id) {
			var option = document.createElement('option');
			option.appendChild(document.createTextNode(reglesConflits[i]['Q']['libelle_question']));
			option.id = reglesConflits[i]['Q']['id_question'];
			selectQuestionConflit.appendChild(option);
			id = reglesConflits[i]['Q']['id_question'];
		}
	}
</script>
-->
